package com.upcode.weighing.util;

import java.util.ArrayList;
import java.util.List;

public class UserHelper {

	public static Integer parseIdTypeEuemForDb(Integer idType) {
		if(idType == null) {
			return null;
		}
		
		List<String[]> allMapping =  getIDTypeMPappings();
		for(int i  = 0; i < allMapping.size();i++) {
			if(idType.toString().equals(allMapping.get(i)[0])) {
				return new Integer(allMapping.get(i)[1]);
			}
		}
				
		return idType;
	}
	
	
	public static String userTypeForDb(Integer idType) {
		if(idType == null) {
			return null;
		}
		
		// 0：个人用户；1：集团用户
    	String type = String.valueOf(idType);
    	if(type.startsWith("1")) {
    		return "0";
    	}else if(type.startsWith("2")){
    		return "1";
    	}
    	
    	return null;
	}
	
	public static Integer parseIdTypeFromEnum(Integer idType) {
		if(idType == null) {
			return null;
		}
		
		List<String[]> allMapping =  getIDTypeMPappings();
		for(int i  = 0; i < allMapping.size();i++) {
			if(idType.toString().equals(allMapping.get(i)[1])) {
				return new Integer(allMapping.get(i)[0]);
			}
		}
		return idType;
	}
	

	/* public static List<String[]> getAllIdTypeList(){
		List<String[]> list = new ArrayList<String[]>();
		list.add(new String[] {"0","其它"});
		list.add(new String[] {"1","营业执照"});
		list.add(new String[] {"2","身份证"});
		list.add(new String[] {"3","军官证"});
		list.add(new String[] {"4","护照"});
		list.add(new String[] {"5","入境证"});
		list.add(new String[] {"6","组织机构代码证"});
		list.add(new String[] {"7","港澳居民通行证"});
		list.add(new String[] {"8","台湾居民通行证"});
		list.add(new String[] {"9","武警警察身份证"});
		list.add(new String[] {"11","统一社会信用代码证书"});
		list.add(new String[] {"12","事业单位法人证"});
		list.add(new String[] {"13","社会团体法人登记证书"});
		list.add(new String[] {"14","律师事务所执业许可证"});
		list.add(new String[] {"15","澳门永久/非永久居民身份证"});
		list.add(new String[] {"16","香港永久/非永久居民身份证"});
		list.add(new String[] {"17","公司商业登记副本（3个月内）"});
		list.add(new String[] {"18","公司营业税单M8副本"});
		list.add(new String[] {"19","公司营业税开业/更改M1副本"});

		return list;
	} */
	
	
	public static String getIdTypeName(Integer IdType) {
		if(IdType == null) {
			return null;
		}
		
		String idTypeName = IdType.toString();
		List<String[]>  all = getIDTypeMPappings();
		for(int i = 0; i < all.size();i++) {
			if(idTypeName.equals(all.get(i)[1])) {
				idTypeName = all.get(i)[2];
				break;
			}
		}
		
		return idTypeName;
	}
	
	public static String getIdTypeNameFromDb(Integer IdType) {
		return getIdTypeName(parseIdTypeEuemForDb(IdType));
	}
	
	public static List<String[]> getIDTypeMPappings(){
		/*
	101 - 身份证                                                           2 - 身份证
	102 - 护照                                                                 4 - 护照
	103 - 港澳居民通行证                                          7 - 港澳居民通行证
	104 - 台湾居民通行证                                          8 - 台湾居民通行证
	105 - 军官证                                                            3 - 军官证
	106 - 武警警察身份证                                          9 - 武警警察身份证
	113 - 澳门永久/非永久居民身份证             15 - 澳门永久/非永久居民身份证
	114 - 香港永久/非永久居民身份证             16 - 香港永久/非永久居民身份证
	201 - 统一社会信用代码证书                           11 - 统一社会信用代码证书
	202 - 组织机构代码证                                           6 - 组织机构代码证
	203 - 营业执照                                                        1 - 营业执照
	204 - 事业单位法人证书                                   12 - 事业单位法人证
	205 - 社会团体法人登记证书                          13 - 社会团体法人登记证书
	206 - 律师事务所执业许可证                          14 - 律师事务所执业许可证
	217 - 公司商业登记副本（3个月内）         17 - 公司商业登记副本（3个月内）
	218 - 公司营业税单M8副本                             18 - 公司营业税单M8副本
	219 - 公司营业税开业/更改M1副本            19 - 公司营业税开业/更改M1副本
	199 - 个人证件缺省值
	299 - 单位证件缺省值		
		                   0 - 其它
		                   5 - 入境证
		 */
        List<String[]> list = new ArrayList<String[]>();
		list.add(new String[] {"101","2","身份证"});
		list.add(new String[] {"102","4","护照"});
		list.add(new String[] {"103","7","港澳居民通行证"});
		list.add(new String[] {"104","8","台湾居民通行证"});
		list.add(new String[] {"105","3","军官证"});
        list.add(new String[] {"106","9","武警警察身份证"});
		list.add(new String[] {"113","15","澳门永久/非永久居民身份证"});
		list.add(new String[] {"114","16","香港永久/非永久居民身份证"});
		list.add(new String[] {"201","11","统一社会信用代码证书"});
		list.add(new String[] {"202","6","组织机构代码证"});
		list.add(new String[] {"203","1","营业执照"});
		list.add(new String[] {"204","12","事业单位法人证"});
		list.add(new String[] {"205","13","社会团体法人登记证书"});
		list.add(new String[] {"206","14","律师事务所执业许可证"});
		list.add(new String[] {"217","17","公司商业登记副本（3个月内）"});
		list.add(new String[] {"218","18","公司营业税单M8副本"});
        list.add(new String[] {"219","19","公司营业税开业/更改M1副本"});
        return list;
	} 
	
	
}
